[TOC]
一.服务端配置:jvm
1 | Jdk1.7之前: -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n |
二.客户端连接:idea远程调试配置及注意
server处port非远程端口,
填错后果严重
Startup/Connection,
Debug
Trasport-Socket - Port为远程调试端口
三.端口查看与释放
确定进程(找到端口address=9996)
1
[admin@10-57-19-191 ~]$ ps -ef |grep 20974
查看连接发起方
1
2[admin@10-57-19-191 ~]$ netstat -an|grep 9996
tcp 0 0 10.57.19.191:9996 10.57.240.227:56516 ESTABLISHED 20974/java
1 | # 端口服务进程 |
- 本地:查看连接目标
1
2➜ ~ netstat -an|grep 9996
tcp4 0 0 10.57.240.227.58302 10.57.19.191.9996 ESTABLISHED
1 | # 连接目标端口进程(`主动关闭此进程,可释放远程端口的占用`) |
四.动态更新远程服务器
1.变量赋值Evaluate Expression (当前线程栈有效,新线程失效
)
2.本地字节码,同步远程服务器(当前实例,重启失效
)
- 第一步: 先debug连接上远程服务器
- 第二步: 改代码,仅限方法内代码. 增加修改方法不可同步远程服务器.
第三步: Build Project,上次代码
结果提示: